home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / bootup / boot_n2z / winx23g / whatsnew.txt < prev    next >
Text File  |  1995-05-02  |  12KB  |  291 lines

  1. 5.4.1994: WINX 2.3g BETA
  2.  
  3. - Programmierung: WindowShade-Nachrichten
  4.   WINX verschickt jetzt eine WM_SHADED-Nachricht, wenn ein Fenster ein-
  5.   geklappt wird, bzw. eine WM_UNSHADED-Nachricht beim Ausklappen.
  6.   Diese Nachrichten sind zu behandeln wie WM_ONTOP und WM_UNTOPPED, 
  7.   d.h. sie informieren nur über einen Zustand, der sich zum Zeit-
  8.   punkt des Eintreffens der Nachricht schon wieder geändert haben kann.
  9.   #define WM_SHADED 22360     /* [WM_SHADED apid 0 win 0 0 0 0] */
  10.   #define WM_UNSHADED 22361   /* [WM_UNSHADED apid 0 win 0 0 0 0] */
  11.   Sinnvoll wäre es jetzt noch ein Bit der wind_get/set-Subfunktion
  12.   WF_BEVENT zum Abfragen und Ändern des Shadezustands zu benutzen.
  13.   Wer unternimmt einen Vorsto₧ bei ATARI? (Ich bring's nicht mehr :-(
  14.  
  15. - WINX-Schalter G14: Mauszeiger während Echtzeitfunktionen umschalten
  16.   Da einige VDI-Treiber Probleme mit dem Vorgehen des AES beim
  17.   Sichern und Restaurieren der Mausform haben, kann man das
  18.   Umschalten der Mausform jetzt abschalten.
  19.  
  20. - GEM-Desktop: Negative Fensterkoordinaten
  21.   Das GEM-Desktop speichert die Fensterkoordinaten als vorzeichenlosen
  22.   Bytewert im Shellbuffer. Fenster, die links aus dem Bildschirm ge-
  23.   schoben werden, erschienen daher bisher beim Laden des Shellbuffers
  24.   am rechten Bildschirmrand. WINX bildet jetzt beim Speichern neg.
  25.   Koordinaten auf 0 ab. Dies Lösung ist nicht perfekt, vermeidet
  26.   jedoch Kompatibilitätsprobleme.
  27.   (reported by Henry Rolofs @ KR)
  28.  
  29. 27.03.1994: WINX 2.3f BETA
  30.  
  31. - Restaurierung der letzten Version
  32.  
  33. - Interna: WindowShade
  34.   Das automatische Entshaden beim Klick auf den Fuller führte in 
  35.   einigen Situationen dazu, da₧ der SCRENMGR das Loslassen des
  36.   Mausknopfs nicht mehr mitbekam.
  37.  
  38. 16.1.1994: WINX 2.3e BETA
  39.  
  40. - Programmierung: appl_getinfo()-Test
  41.   Da einige Programmiersprachen bei einer logischen Verknüpfung immer
  42.   beide Teilausdrücke auswerten, mu₧ der Test dort anders formuliert
  43.   werden, da appl_find( "?AGI") nur aufgerufen werden darf, wenn das
  44.   Programm nicht sicher wei₧, da₧ agi() implementiert ist.
  45.  
  46.     has_appl_getinfo = TRUE;
  47.     if (aesversion < 0x400) {
  48.       if (appl_find( "?AGI") != 0) {
  49.         has_appl_getinfo = FALSE;
  50.       }
  51.     }
  52.     if (has_appl_getinfo) {
  53.       /* appl_getinfo() kann aufgerufen werden */
  54.     };
  55.  
  56. - Interna: Abfangen des GEMDOS-Traps
  57.   In der 2.3d wurde bei Pexec() vergessen das Register D7 zu retten.
  58.   Also schnell in die Tonne damit...
  59.  
  60. - Konfiguration: GEM-Patch
  61.   Die WINX-Defaultwerte zum Patchen eines GEMs können jetzt aus einer
  62.   WINX.INF-Datei geladen werden (damit ist es nicht mehr notwendig
  63.   WINX selbst zu patchen).
  64.  
  65. 10.1.1994: WINX 2.3d BETA
  66.  
  67. - Konfiguration: Grö₧e der Rahmenelemente
  68.   Die Grö₧e eines Kontrollelements, wie dem Closer, entsprach bisher der
  69.   einer quadratischen Zeichenzelle (entsprechend den wbox-/hbox-Rück-
  70.   gabewerten von graf_handle). WINX erlaubt es die Grö₧e zu konfigurieren.
  71.   Hierzu fügt man ein Zeile folgenden Formats in WINX.INF ein:
  72.     .GADGET=addw,addh    # mit addw/addh >= 0
  73.   Die Grö₧e eines Kontrollelements bestimmt sich dann aus der Grö₧e
  74.   einer Zeichenzelle (entsprechend den wchar-/hchar-Rückgabewerten von
  75.   graf_handle) plus dem angegebenen Breiten- bzw. Höhenwert. Da die
  76.   Zeichen in der Regel rechts einen wei₧e Pixelspalte haben, benutzt
  77.   man am besten einen ungeraden Breitenwert. Z.B. benutze ich:
  78.     .GADGET=3,0
  79.  
  80. - Interna: WindowShade
  81.   Wurde ein 'geshadetes' Fenster geschlossen, dann wurden unnötiger-
  82.   weise Redraws für den kompletten Fensterbereich versandt
  83.   (reported by Martin Köhling @ UN)
  84.  
  85. - Interna: Bug-Fix 
  86.   In der Behandlung der Buttonereignisse gab es seit WINX 2.1 einen
  87.   Bug (warum hat das nur keiner bemerkt?). War ein ACC-Fenster ganz
  88.   vorne und die Hauptapplikation übernahm die Mauskontrolle (weil
  89.   man z.B. ein Icon auf dem Desktop verschieben wollte), dann bekam
  90.   das ACC danach temporär keine Mausklicks mehr gemeldet.
  91.   (reported by Annius.Groenink@let.ruu.nl)
  92.  
  93. 20.12.1993: WINX 2.3c BETA
  94.  
  95. - GEM 3.x Bedienung: WindowShade
  96.   Beim Klick auf den Fuller wird das Fenster automatisch entSHADEt.
  97.  
  98. - Programmierung: appl_getinfo()-Test
  99.   Andreas Kromke und ich haben uns auf eine einheitliche Möglichkeit
  100.   geeinigt, wie Programme die Anwesenheit von appl_getinfo() bei
  101.   GEM-Versionen < 4.00 erfragen können. Falls jemand ernsthafte
  102.   Einwände hat, dann möge er sie bald äu₧ern.
  103.   
  104.     if ((aesversion >= 0x400) || (appl_find( "?AGI") == 0)) {
  105.       /* appl_getinfo() kann aufgerufen werden */
  106.     };
  107.   
  108.   Jedes Programm, das appl_getinfo() implementiert bzw. erweitert,
  109.   sollte bei appl_find( "?AGI") den Wert 0 liefern.
  110.  
  111. - Interna:
  112.   Das Flag für die zusätzliche Zeile von in Desktopfenstern wurde
  113.   unter bestimmten Umständen nicht korrekt initialisiert.
  114.  
  115. - GEM 3.x Desktop: Horizontaler Scrollbalken
  116.   Brachte man ein Dateifenster auf maximale Grö₧e, gab es Müll beim
  117.   Scrollen. Aus irgendeinem Grund hatte der Autor des Desktops die
  118.   Ausgabe auf eine bestimmte Höhe beschnitten.
  119.   
  120. - Interna:
  121.   Der GEMDOS-Vektor wurde in 2.3b nicht umgehängt, weil ich vergessen
  122.   hatte eine Versionsnummer zu ändern.
  123.  
  124. - Interna:
  125.   WF_WINXCFG lieferte unter TOS 1.x nicht die korrekte Schaltermaske,
  126.   dadurch waren z.B. die Scrollboxen sichtbar, obwohl sie nicht zu
  127.   bedienen waren (altes Problem, endlich behoben)
  128.  
  129. - Interna:
  130.   Wegen eines Fehlers ... (2.Versuch :-)
  131.   
  132. 11.12.1993: WINX 2.3b BETA
  133.  
  134. - Interna:
  135.   Wegen eines Fehlers in verschiedenen HiSoft-Programme verändert WINX
  136.   bei wind_get( 0, WF_TOP, &topwin, &topowner, &belowwin, &ign) den
  137.   Wert von <ign> nicht mehr. Eventuell fliegt das aber wieder raus.
  138.   
  139. - Programmierung: WF_STACK
  140.   wind_set( win, WF_STACK, abovewin, 0, 0, 0)
  141.   Stellt das Fenster <win> im Fensterstapel hinter das Fenster <abovewin>.  
  142.   Ist <win> geschlossen, wird der Positionierungswunsch gespeichert und
  143.   beim Öffnen des Fensters mit wind_open() berücksichtigt.
  144.   Diese Funktion ist im Experimentierstadium (in der Hoffnung, da₧
  145.   ATARI soetwas ähnliches implementiert). Der Funktionscode von WF_STACK
  146.   entspricht momentan dem von WF_OWNER (welches keinen set-Modus hat).
  147.   Kommentare zu WF_STACK sind erwünscht.
  148.   Nebeneffekt der Implementierung: Das Redrawhandling bei BOTTOM wurde
  149.   besser.
  150.  
  151. - GEM 3.x Bedienung: WindowShade
  152.   Klickt man mit der RECHTEN Maustaste in die Titelzeile eines Fensters,
  153.   dann wird der untere Teil des Fensters unsichtbar. Ein weiterer Klick
  154.   hebt diesen Modus wieder auf. Dies ist auch ein guter Härtetest, ob
  155.   Programme die Rechteckliste immer korrekt beachten.
  156.  
  157. - GEM 3.x Bedienung:
  158.   Ein Doppelklick auf die Titelzeile entspricht einem Klick auf das
  159.   Maximalgrö₧enelement (Fuller). Ich mag es nicht, aber ATARI (oder
  160.   auch Windows) hat recht :-). Schaltet man die rechte Taste aus,
  161.   dann wird die Funktion allerdings von der Doppelklickbehandlung
  162.   von WINX ueberdeckt. Eventuell gibt es für das Doppelklickfullen
  163.   noch einen globalen Schalter. In diesem Fall hat die Funktion
  164.   höherer Priorität.
  165.  
  166. - GEM 3.x Desktop:
  167.   Ist der Schalter L2 (minimale Anzahl von Rahmenelementen) für das
  168.   Desktop eingeschaltet, dann ist der Menüpunkt 'einpassen' immer aktiv
  169.   und die Fenster haben keinen horizontalen Scrollbalken mehr (da man
  170.   ihn dann sowieso nicht benutzen konnte).  Vorteil: Eine Zeile mehr
  171.   im Fenster.
  172.  
  173. - GEM 3.x Bedienung: Scrollboxen
  174.   Der Mauspfeil mu₧ nur noch halbsoweit ausgelenkt werden um eine
  175.   entsprechenden Erhöhung des Geschwindigkeitsfaktors zu erhalten. 
  176.  
  177. - Bedienung: Scrollgeschwindigkeit
  178.   Der Defaultwert für die Wiederholrate beim Scrollen wurde auf 0
  179.   gesetzt, da ich es leid war immer wieder erklären zu müssen, warum
  180.   manche Programme unter WINX langsamer scrollen.
  181.  
  182. - Interna: Bug in TOS 1.04
  183.   Übernahm eine Applikation die Mauskontrolle während des Scrollens,
  184.   dann erhielt sie ab der zweiten Scrollnachricht auch den Mausklick
  185.   gemeldet.
  186.  
  187. 29.10.1993: WINX 2.3a BETA
  188.  
  189. - Ist bei wind_delete() das Fenster noch offen, dann wird es vorher
  190.   aus dem Fensterstapel entfernt. Z.B. ist PC abgestürzt, wenn es
  191.   auf diese Weise noch offene Fenster einer aus PC gestarteten
  192.   Applikation aufräumen wollte. ACHTUNG: Das Fenster wird aus
  193.   Geschwindigkeitsgründen nicht mit wind_close() geschlossen.
  194. - menu_attach() im Falcon-TOS 4.01-4.04 führte zum Absturz, falls man
  195.   ein einmal eingetragenes Submenu abfragen, ändern oder löschen wollte.
  196.   WINX behebt diesen Fehler.
  197.   
  198. 17.10.1993: WINX 2.2
  199.  
  200. - Die .LOCAL-Zeile in WINX.INF wurde abgeschafft. Lokale Schalter
  201.   eines Programms, die nicht direkt in der Schalterliste des Namens-
  202.   musters gefunden werden, welches auf den Programmnamen pa₧t, werden
  203.   jetzt nicht mehr aus der .LOCAL-Zeile, sondern aus der Zeile mit
  204.   dem Namensmuster "*" gesetzt. Damit ist das ganze zwar nicht mehr
  205.   so flexibel, dafür aber hoffentlich verständlicher (oder auch nicht).
  206.  
  207. 8.10.1993: WINX 2.2e BETA
  208.  
  209. - Das mit dem Cookie hat wohl nicht funktioniert. Dumm, wenn man
  210.   etwas nicht selbst testen kann. Hoffen wir, da₧ es jetzt klappt.
  211.   
  212. 6.10.1993: WINX 2.2d BETA
  213.  
  214. - WINX legt den WINX-Cookie jetzt auch an, falls das GEM bereits
  215.   mit dieser WINX-Version gepatcht wurde (z.B. wenn man mit ROMRAM
  216.   sein TOS resident im RAM installierte). WINXCOOK wird damit mehr
  217.   oder weniger überflüssig, wenn man nicht auf den Speicherplatz
  218.   auf dem Bootdrive achten mu₧.
  219. - Das FULL-Rechteck sollte jetzt wieder korrekt bei wind_create()
  220.   übernommen werden
  221.  
  222. 26.9.1993: WINX 2.2c BETA
  223.  
  224. - Funktionshandler erweitert um eine Funktion, die es erlaubt die 
  225.   Bildschirmgrö₧e nachträglich zu ändern (für den Support von WINX
  226.   durch AutoSwitch-OverScan und Konsorten)
  227.     #define WFC_SETSCR 12
  228.     (winxfunc( WFC_SETSCR, newscrw, newscrh) == 0) => SUCCESS
  229. - Patch für 'Phantom Typist' Problem (TOS >= 1.06). Da sich der Fehler
  230.   nicht gezielt reproduzieren lä₧t, ist es aber nicht sicher, ob der
  231.   Patch die Lösung bringt. Schaden tut er jedenfalls nicht ;-)
  232. - Fehlte die WINX.INF-Datei erschien eine fehlerhafte Meldung
  233.  
  234. 20.9.1993: WINX 2.2b BETA
  235.  
  236. - Die Defaultwerte von WINX können über die folgenden Patchvariablen
  237.   direkt in die Datei gepatcht werden.
  238.   typedef struct {
  239.     char prefix[ 12];  /* "PATCH HERE:" */
  240.     short size;        /* sizeof( defaultS) */
  241.     short global;      /* global switches */
  242.     short local;       /* local switches */
  243.     short desk;        /* desktop switches */
  244.     short isdelay;     /* initial scroll delay */
  245.     short csdelay;     /* continous scroll delay */
  246.     short ccdelay;     /* continous close delay */
  247.     short cfdelay;     /* continous full delay */
  248.   } defaultS;
  249. - Es ist jetzt nur noch ein Patchversuch pro WINX-Aufruf möglich
  250. - Die verschiedenen Verzögerungswerte können jetzt auch über WINX.INF
  251.   eingestellt werden (die Werte im CPX haben aber noch Priorität!):
  252.     .DDELAY=arrow1,arrow2,closer,fuller
  253.   Beispiel (entspricht der Defaulteinstellung):
  254.     .DDELAY=460,40,1000,2000
  255.   (alle Werte in ms; die Auflösung des Timers beträgt 20ms).
  256. - Im TOS 1.00-1.04 klappte die Überprüfung, ob einer Applikation ein
  257.   Mausklick zugeordnet ist, nicht 100%ig (z.B. wenn der SCRENMGR beim
  258.   Scrollen die Kontrolle hatte)
  259. - Das Sichern eines gepatchten TOS 1.00-1.04 führte zu einem bombigen
  260.   Ergebnis.
  261. - Nach Fehlermeldungen wartet WINX einen Moment, so da₧ diese lesbar
  262.   sind.
  263.  
  264. 13.9.1993: WINX 2.2a BETA
  265.  
  266. - Der Einbau der appl_getinfo()-Funktion in WINX führte zu Problemen
  267.   mit Programmen, die zum einen Userdefs in der Menüzeile benutzen
  268.   und zum anderen mit einer älteren TurboC-GEM-Bibliothek gelinkt
  269.   wurden (GEMINI 1.21, ...) . Dieser Fehler wird jetzt abgefangen.
  270. - wind_get( WF_WINX) liefert jetzt WF_WINX, falls es die Funktion gibt.
  271.   Damit kann man darauf verzichten vorher zu prüfen, ob wind_get()
  272.   überhaupt einen gültigen Funktionswert liefert. Ergänzend wurde
  273.   das Beispiel für eine has_appl_getinfo()-Funktion geändert.
  274.  
  275.     #define WF_WINX 22360
  276.     
  277.     int has_appl_getinfo( void)
  278.     /* Liefert TRUE, falls das AES appl_getinfo() bereitstellt */
  279.     {
  280.       static int hagi = -1;
  281.       int ign;
  282.  
  283.       if (hagi < 0) {      
  284.         hagi = ((_GemParBlk.global[ 0] >= 0x400) ||
  285.           (wind_get( 0, WF_WINX, &ign, &ign, &ign, &ign) == WF_WINX));
  286.       };
  287.       return( hagi);
  288.     } /* has_appl_getinfo */
  289.   
  290. 9.9.1993: WINX 2.1
  291.